#pragma once
#ifndef PARTICLESIGNALLINEBOTH_H
#define PARTICLESIGNALLINEBOTH_H

#include "ParticleBase.h"
#include "PropertyAdhesions.h"

namespace ParticleEngine
{
	class ParticleSignalLineBoth : public ParticleBase
	{
	public:
		ParticleSignalLineBoth(ParticleContext& NewContext);
		~ParticleSignalLineBoth();

		virtual ColorRGBA<unsigned char> GetColor();

		virtual void Sole();
		virtual void InteractionIndividual(ParticleBase*const Other, Vec<2, float>& Space, const float& DistanceSquared);

		virtual void SaveIndividual(std::ofstream& Strm);
		virtual void LoadIndividual(std::ifstream& Strm);

		virtual PropertyContent* HasHeat(){ return &Heat; };
		PropertyContent Heat;

		virtual PropertySignal* HasSignal0(){ return &Signal0; };
		PropertySignal Signal0;
		virtual PropertySignal* HasSignal1(){ return &Signal1; };
		PropertySignal Signal1;

		static const DescriptorParticle Descriptor;
	};
}

#endif